Skip to content

Conversation

@tomaszkam
Copy link

…lect_constant_array and related functions

@tomaszkam tomaszkam force-pushed the tk/reflect_multi_array branch from 2904bea to 13b0560 Compare November 27, 2025 10:44
…lect_constant_array</tt> and related functions
@tomaszkam tomaszkam force-pushed the tk/reflect_multi_array branch from 13b0560 to 8fc9b6b Compare November 27, 2025 10:55
<del><tt>is_constructible_v&lt;T, ranges::range_reference_t&lt;R&gt;&gt;</tt> is `true`, and</del>
</li>
<li><ins>(9.2) &mdash;</ins> <tt>T</tt> satisfies <tt>copy_constructible</tt><ins>, and</ins></li>
<li><ins>(9.3) &mdash;</ins> <tt>U</tt> does not denote array type, then <tt>is_constructible_v&lt;T, ranges::range_reference_t&lt;R&gt;&gt;</tt> is <tt>true</tt>.</li>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<li><ins>(9.3) &mdash;</ins> <tt>U</tt> does not denote array type, then <tt>is_constructible_v&lt;T, ranges::range_reference_t&lt;R&gt;&gt;</tt> is <tt>true</tt>.</li>
<li><ins>(9.3) &mdash; if <tt>U</tt> is not an array type, then <tt>is_constructible_v&lt;T, ranges::range_reference_t&lt;R&gt;&gt;</tt> is <tt>true</tt>.</ins></li>

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also replace dontes.

Dani-Hub and others added 4 commits November 27, 2025 18:09
Co-authored-by: timsong-cpp <rs2740@gmail.com>
Co-authored-by: timsong-cpp <rs2740@gmail.com>
Co-authored-by: timsong-cpp <rs2740@gmail.com>
<li>(11.2) &mdash; Otherwise, the template parameter object of type <tt>const array&lt;T, 0&gt;</tt> initialized with `{}`.</li>
</ul></p>
<p>-12- <i>Returns</i>: <tt>^^<i>P</i></tt>.</p>
<p>-13- <i>Throws</i>: Any <ins>of</ins>
Copy link
Member

@Dani-Hub Dani-Hub Nov 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This "any of" construction followed by the item list sounds weird to me. I think about a better formulation. My current proposal would be to replace the item lists by individual sentences each one starting with "Any [...] of ", this seems to be existing practice elsewhere. What do you think?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On reflector discussion Hubert requested "Any of" to emphasize unspecified nature of which one is selected

Copy link
Member

@Dani-Hub Dani-Hub Nov 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not criticizing the usage of "any of" (This is standard formaulation), but the concrete usage here where we use "any of" before as introducer before the bullet list and then expressing each bullet item as a seemingly continuation of this "any of". But a sentence such as "any of exception thrown by increment and dereference operations on iterator to r and comparison of such iterator to sentinel," doesn't sound like a real sentence to me

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My suggestion would be to replace the bullet list by individual sentences roughly as follows:

Any exception thrown by increment and dereference operations on iterator to r and comparison of such iterator to sentinel. Any exception thrown by the evaluation of any argument of reflect_constantei. meta::exception if evaluation of any reflect_constant(ei)evaluation of
reflect_constant or reflect_constant_array
would exit via an exception.

Copy link
Member

@Dani-Hub Dani-Hub Nov 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tomaszkam We can keep the list style if we use the approach used in [string.insert] p10, that means without any introducer before the list and potentially using "Any exception ..." as begin of the first and second item. This has the effect that each bullet item is a full sentence.

What do you think?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've updated it in this manner.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks.

Co-authored-by: Daniel Krügler <daniel.kruegler@gmail.com>
@Dani-Hub Dani-Hub merged commit dac3b6c into cplusplus:master Nov 27, 2025
2 checks passed
@jwakely
Copy link
Member

jwakely commented Nov 27, 2025

I would have done 'squash and merge', to avoid an entire page of commits for the one issue :)

https://github.com/cplusplus/LWG/commits/master/

@Dani-Hub
Copy link
Member

Dani-Hub commented Nov 27, 2025 via email

@jwakely
Copy link
Member

jwakely commented Nov 27, 2025

It's an option when you do the final merge. Click the drop-down arrow next to the merge button and choose squash and merge

@Dani-Hub
Copy link
Member

Great, thank you for the tip!

@jwakely
Copy link
Member

jwakely commented Nov 27, 2025

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants